// import com.alibaba.druid.sql.ast.SQLName_ptr;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

// import java.util.ArrayList;
// import java.util.List;

#include "MysqlCreateFullTextAnalyzerStatement.h"
#include "../../../../ast/SQLName.h"
#include "../../visitor/MySqlASTVisitor.h"

MysqlCreateFullTextAnalyzerStatement::MysqlCreateFullTextAnalyzerStatement()
{
  charfilters = std::make_shared<std::list<string_ptr>>();
  tokenizers = std::make_shared<std::list<string_ptr>>();
}
void MysqlCreateFullTextAnalyzerStatement::accept0(MySqlASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(MysqlCreateFullTextAnalyzerStatement)))
  {
    acceptChild(visitor, name);
  }
  visitor->endVisit(SharedObject(MysqlCreateFullTextAnalyzerStatement));
}

SQLName_ptr MysqlCreateFullTextAnalyzerStatement::getName()
{
  return name;
}

void MysqlCreateFullTextAnalyzerStatement::setName(SQLName_ptr name)
{
  if (name != nullptr)
  {
    name->setParent(SharedObject(MysqlCreateFullTextAnalyzerStatement));
  }
  this->name = name;
}

string_ptr MysqlCreateFullTextAnalyzerStatement::getTokenizer()
{
  return tokenizer;
}

void MysqlCreateFullTextAnalyzerStatement::setTokenizer(string_ptr tokenizer)
{
  this->tokenizer = tokenizer;
}

string_list_ptr MysqlCreateFullTextAnalyzerStatement::getCharfilters()
{
  return charfilters;
}

string_list_ptr MysqlCreateFullTextAnalyzerStatement::getTokenizers()
{
  return tokenizers;
}
